home *** CD-ROM | disk | FTP | other *** search
/ PSION CD 2 / PsionCDVol2.iso / Programs / 602 / Help-FilesOPLDeveloppers.sis / S5 OPX (.txt) < prev   
Encoding:
EPOC Database  |  2000-10-04  |  78.7 KB  |  1,023 lines

  1. "Data.app)@
  2. "ACreates a new date/time object which contains all the date/time components of the current time and returns a handle id& for it.
  3. Example: Timing a loop
  4. start&=DTNow&:
  5. WHILE condition
  6. ENDWH
  7. end&=DTNow&:
  8. PRINT 
  9. Time to do loop was
  10. ,DTMicrosDiff&:(start&,end&)
  11. See DTNEWDATETIME&:.
  12. Table1
  13. ColA9
  14. ColB9
  15. ColA10
  16. ColB10
  17. ColA11
  18. ColB11
  19. Index1
  20. ColA9
  21. BCreates a new date/time object which contains all the supplied date/time components and returns a handle id& for it.
  22. The year is stored as the usual four figure year, e.g. 1997.
  23. The month is stored as 1 for January, 2 for February, etc.
  24. The day is stored as the day number in the month.
  25. The hour is the hour of the day in 12 or 24 hour clock according to the system setting.
  26. The minutes, seconds and microseconds are stored as the usual values 0 to 59 for minutes and seconds and 0 to 999 for microseconds.
  27. See DTDELETEDATETIME:.
  28. ASets the machine
  29. s auto switch off behaviour.
  30. behavior&=0    disables the machine
  31. s auto switch off mechanism.
  32. behavior&=1    sets the machine auto switch off to occur only when its batteries are low.
  33. behavior&=2     sets the machines auto switch off to occur always.
  34. BReturns the week number in the year of the date/time object with handle id&. The first day of the year is specified by the date/time object with handle yearstart&. This would usually be set to 1 January in the appropriate year, but also allows you to set the star of the year to the beginning of the financial year or the academic year, for example.
  35. rule& can take three values (0,1,2), allowing the week number to be calculated by one of three different rules:
  36. value        meaning
  37. 0         the first day of the year is always in week one,
  38. 1         requires the first week of the year to have at least four days in it,
  39. 2         requires the first week of the year to have the full seven days.
  40. The Agenda application and other Series 5 applications use the rule with value 1 by default.
  41. LCAmPmSpaceBetween&: _SysRAM1VReturns -1 if locally there should be a space between the time and AM/PM or 0 if not.
  42. s batteries are low.
  43. behavior&=2     sets the machines auto switch off to occur always.
  44. See DTNEWDATETIME&:.
  45. DTMINUTE&: _Date
  46. m&=DTMINUTE&:(id&)oReturns the minutes component m& which is stored in the date/time object with handle id&.
  47. See DTNEWDATETIME&:.
  48. DTSECOND&: _Date
  49. s&=DTSECOND&:(id&)oReturns the seconds component s& which is stored in the date/time object with handle id&.
  50. See DTNEWDATETIME&:.
  51. DTMICRO&: _Date
  52. m&=DTMICRO&:(id&)tReturns the microseconds component m& which is stored in the date/time object with handle id&.
  53. See DTNEWDATETIME&:.
  54. DTSETYEAR: _Date
  55. DTSETYEAR:(y&,id&)lSets the year component which is stored in the date/time object with handle id& to y&.
  56. See DTNEWDATETIME&:.
  57. DTSETMONTH: _Date
  58. DTSETMONTH:(m&,id&)mSets the month component which is stored in the date/time object with handle id& to m&.
  59. See DTNEWDATETIME&:.
  60. DTSETDAY: _Date
  61. DTSETDAY:(day&,id&)mSets the day component which is stored in the date/time object with handle id& to day&.
  62. See DTNEWDATETIME&:.
  63. DTSETHOUR: _Date
  64. DTSETHOUR:(h&,id&)lSets the hour component which is stored in the date/time object with handle id& to h&.
  65. See DTNEWDATETIME&:.
  66. DTSETMINUTE: _Date
  67. DTSETMINUTE:(m&,id&)oSets the minutes component which is stored in the date/time object with handle id& to m&.
  68. See DTNEWDATETIME&:.
  69. DTSETSECOND: _Date
  70. DTSETSECOND:(s&,id&)oSets the seconds component which is stored in the date/time object with handle id& to s&.
  71. See DTNEWDATETIME&:.
  72. DTSETMICRO: _Date
  73. DTSETMICRO:(m&,id&)tSets the microseconds component which is stored in the date/time object with handle id& to m&.
  74. See DTNEWDATETIME&:.
  75. DTNOW&: _Date
  76. id&=DTNOW&:
  77. DTDATETIMEDIFF: _DateuDTDATETIMEDIFF:(start&,end&,BYREF year&,BYREF month&,BYREF day&,BYREF hour&,BYREF minute&,BYREF second&,BYREF micro&)
  78. Calculates the exact difference between two date/time objects with handles start& and end& in the form of a date/time object. The difference is returned in the variables year&, month& etc.
  79. DTYEARSDIFF&: _Date diff&=DTYEARSDIFF&:(start&,end&)
  80. Returns the difference diff& in whole years between the two date/time objects with handles start& and end&.
  81. See DTNEWDATETIME&:.
  82. DTMONTHSDIFF&: _Date!diff&=DTMONTHSDIFF&:(start&,end&)
  83. Returns the difference diff& in whole months between the two date/time objects with handles start& and end&.
  84. See DTNEWDATETIME&:.
  85. DTDAYSDIFF&: _Date
  86. diff&=DTDAYSDIFF&:(start&,end&)
  87. Returns the difference diff& in whole days between the two date/time objects with handles start& and end&.
  88. See DTNEWDATETIME&:.
  89. DTHOURSDIFF&: _Date diff&=DTHOURSDIFF&:(start&,end&)
  90. Returns the difference diff& in whole hours between the two date/time objects with handles start& and end&.
  91. See DTNEWDATETIME&:.
  92. ASets the current process active if state&=1 or not active if state&=0. This will determine whether or not the machine can automatically turn off when the user is not using the machine: if the process is active then the machine will not automatically turn off.
  93. AReturns the time that the file, file$, was last modified into dateTimeId&.  It is necessary to pass this procedure the ID of  a date/time object which the procedure will then set to the required time.  To obtain and read a date/time object, see the 
  94. Date OPX
  95.  section.
  96. Table1
  97. Proc:
  98. Usage:
  99. Info:
  100. en days.
  101. The Agenda application and other Series 5 applications use the rule with value 1 by default.
  102. DTMINUTESDIFF&: _Date"diff&=DTMINUTESDIFF&:(start&,end&)
  103. Returns the difference diff& in whole minutes between the two date/time objects with handles start& and end&.
  104. See DTNEWDATETIME&:.
  105. DTSECONDSDIFF&: _Date"diff&=DTSECONDSDIFF&:(start&,end&)
  106. Returns the difference diff& in whole seconds between the two date/time objects with handles start& and end&.
  107. See DTNEWDATETIME&:.
  108. DTMICROSDIFF&: _Date!diff&=DTMICROSDIFF&:(start&,end&)
  109. Returns the difference diff& in whole microseconds between the two date/time objects with handles start& and end&.
  110. See DTNEWDATETIME&:, DTNOW&:.
  111. DTWEEKNOINYEAR&: _Date)w&=DTWEEKNOINYEAR&:(id&,yearstart&,rule&)
  112. DTDAYNOINYEAR&: _Date
  113. DTDAYNOINYEAR&:(id&,yearstart&)
  114. Returns the day number in the year of the date/time object with handle id&. The first day of the year is specified by the date/time object with handle yearstart&.
  115. DTDAYNOINWEEK&: _Date
  116. n&=DTDAYNOINWEEK&:(id&)RReturns the day number in the week (1-7) of the date/time object with handle id&.
  117. DTDAYSINMONTH&: _Date
  118. n&=DTDAYSINMONTH&:(id&)
  119. Returns the number of days in the month of the month specified by the month component of the date/time object with handle id&.
  120. DTSETHOMETIME: _Date
  121. DTSETHOMETIME:(id&)TSets the system time to the time specified in the date/time object with handle id&.
  122. LCCOUNTRYCODE&: _Date
  123. cc&=LCCOUNTRYCODE&:
  124. Returns the country code for the current system home country (LC stands for 
  125. Locale
  126. ), which may be used to select country-specific data.  The country code for any given country is the international dialling prefix for that country
  127. LCDECIMALSEPARATOR$: _Date
  128. decSep$=LCDECIMALSEPARATOR$:
  129. Returns the decimal separator (the character used in decimal numbers to separate whole part from fractional part) according to the local system setting.
  130. LCSETCLOCKFORMAT: _Date
  131. LCSETCLOCKFORMAT:(format&)
  132. Sets the system clock format to either digital or analog.  If format&=0 then the clock is set to analog or if it is 1 then the clock is set to digital.
  133. LCCLOCKFORMAT&: _Date
  134. format&=LCCLOCKFORMAT&:wReturns the current system clock format  The procedure returns 0 if the system clock is analog and 1 if it is digital.
  135. LCSTARTOFWEEK&: _Date
  136. start&=LCSTARTOFWEEK&:
  137. Returns the day of the week which set as the first day of the week in the system setting.  A return value of 1 indicates Monday, 2 Tuesday, and so on.
  138. LCTHOUSANDSSEPARATOR$: _Date
  139. thouSep$=LCTHOUSANDSSEPARATOR$:
  140. Returns the thousands separator (the character used to separate every three digits of a large number) according to the local system setting.
  141. BACKLIGHTON&: _System
  142. backLight&=BACKLIGHTON&:GReturns -1 if the backlight is switched on or 0 if it is switched off.
  143. SETBACKLIGHTON: _System
  144. SETBACKLIGHTON:(state&):Switches the backlight on if state&=1 or off if state&=0.
  145. ASets the time that the file, file$, was last modified to dateTimeId&.  It is necessary to pass this procedure the ID of a date/time object which the procedure will use to set the time.  To get a date/time object, which provides microsecond accuracy, see the 
  146. Date OPX
  147.  section.
  148. ocess active if state&=1 or not active if state&=0. This will determine whether or not the machine can automatically turn off when the user is not using the machine: if the process is active then the machine will not automatically turn off.
  149. 6BReturns the media type present on the drive specified by drive&.  drive& can take values 0 to 25. 0 specifies the A:, 1 specifies B:, 2 specifies C: and so on. The value returned may be any of the following,
  150. value     meaning    constant declaration in System.oxh
  151. 0     no media present    CONST KMediaNotPresent&=0
  152. 1     media unknown    CONST KMediaUnknown&=1
  153. 2     floppy disk    CONST KMediaFloppy&=2
  154. 3     hard disk    CONST KMediaHardDisk&=3
  155. 4     CD-ROM    CONST KMediaCdRom&=4
  156. 5     RAM     CONST KMediaRam&=5
  157. 6     flash    CONST KMediaFlash&=6    
  158. 7     ROM     CONST KMediaRom&=7
  159. 8     remote    CONST KMediaRemote&=8
  160. APlays the file file$, which may be a sound file or an alarm file. Does not return until the sound has completed.
  161. volume& specifies the volume at which the file should be played, 0 specifies no volume and 3 specifies maximum volume. The play will be synchronous (i.e. the OPL program will stop running until the file has finished playing).  For asynchronous sound playing see PLAYSOUNDA:.
  162.  a date/time object which the procedure will use to set the time.  To get a date/time object, which provides microsecond accuracy, see the 
  163. Date OPX
  164.  section.
  165. 8EChanges the priority control for the current program.
  166. The following values are available for state&:
  167. value            meaning            constant declaration in System.oxh
  168. 0        compute mode disabled    CONST KComputeModeDisabled&=0
  169. 1        compute mode on    CONST KComputeModeOn&=1
  170. 2        compute mode off    CONST KComputeModeOff&=2
  171. This puts the current process into compute mode (state&=KComputeModeOn&) or takes it out of compute mode (state&=KComputeModeOff&). In compute mode, a process runs at the lower background priority even when it is the foreground process. Disabling compute mode control (state&=KComputeModeDisabled&) prevents the window server from changing the program
  172. s priority when it moves between background and foreground.
  173. OPL runs in compute mode by default to support simple OPOs which cannot always be assumed to be well-behaved programs.
  174. This default behaviour is necessary because OPL programs would not otherwise give any background programs a chance to run, simply by running in a tight loop.  If your program doesn
  175. t run in a tight loop, i.e. if it calls GETEVENT32, GET, etc. regularly, you can use SETCOMPUTEMODE:(KComputeModeOff&).
  176.     Note that TBarInit: in Toolbar.opo sets compute mode off, since any program that has a toolbar shouldn
  177. t be running in a tight loop at any time. (See the 
  178. Friendlier Interaction
  179.  chapter for more details.)
  180. CRuns an application and returns a thread ID for the application. The thread ID can be used to logon to the application, to find out when and why it finished.  This ID can also be used to locate the window group, end the task etc.
  181. lib$ is the C++ application name.
  182. doc$ is the document name, if any, to pass to the application.
  183. tail$ is the tail end, needed only by certain applications such as OPL.
  184. cmd& can take values:
  185. value             meaning
  186. 0            open
  187. 1            create
  188. 2             run
  189. 3             background
  190. The values 0, 1 and 2 are the same as for CMD$(3) (see the 
  191. Alphabetic Listing
  192.  chapter). The value 3 will run the application in the background.
  193. For example, to run an OPL program:
  194. k&=RUNAPP&:(
  195. RZ:\System\Opl\Toolbar.opo
  196. Note that tail$ contains a leading R: this is required by OPL.
  197. To open the Data help file:
  198. k&=RUNAPP&:(
  199. Z:\System\Data\Help
  200. See also the 
  201. OPL Applications
  202.  section in the 
  203. Advanced Topics
  204.  chapter.
  205. See LOGONTOTHREAD:.
  206. <ASends a key event to the window group (application) that follows the window group with ID previous& (or the first window group if previous&=0), in the thread with ID threadId&. The key event is specified by code&, scanCode&, modifiers& and repeats&.
  207. The value returned is the window group to which the key was sent.
  208. s finished playing).  For asynchronous sound playing see PLAYSOUNDA:.
  209. ,BPlays the file file$, which may be a sound file or an alarm file, asynchronously. It returns immediately, with the status word being set on completion or cancellation of the sound.
  210. volume& specifies the volume at which the file should be played, 0 specifies no volume and 3 specifies maximum volume. The play will be asynchronous (i.e. the OPL program will continue running while the sound file is playing).  statusWord& is the variable which will contain information about the state of the sounds file play.  For synchronous sound playing see PLAYSOUND:.
  211. OBReturns the exclusive OR of left& and right&. A bit in the result has value 1 if the corresponding bit is set in either left& or in right&, but not in both, otherwise it is 0.
  212. E.g. with left&=5 (binary 00000101) and right&=3 (binary 00000011), XOR&:(left&,right&) returns 6 (binary 00000110).
  213.     left&            00000101
  214.     right&            00000011
  215.     ----------------------------------------------
  216.     XOR&:(left&,right&)    00000110
  217. This is often used to invert particular bits in an integer. So left&=XOR&:(left&,3) inverts bits 0 and 1  in left&, where bit 0 is the rightmost bit, and leaves the other bits alone.
  218. AEnables (or disables) pointer grabs in a window. After this function has been called with state&=1, any 
  219.  event in this window will cause a pointer grab, terminated by the next corresponding 
  220.  event. The terminating 
  221.  event is also sent to the window with the grab.
  222. This function would typically be used for 
  223. drag-and-drop
  224. , and would typically be called after window creation so that pointer grab is enabled for the lifetime of the window.
  225. state&=0 disables the grab.
  226. See CLAIMPOINTERGRAB:.
  227. ASends a string chunk$ via infrared to another device after connection has been made. The procedure is asynchronous and the success of sending the string is reported in statusW&.
  228. See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDAREAD;, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
  229. ow group to which the key was sent.
  230. on in the 
  231. Advanced Topics
  232.  chapter.
  233. See LOGONTOTHREAD:.
  234. SETREADONLY: _System
  235. SETREADONLY:(file$,state&)PSets the file, file$, to be read only if state&=1 or not read-only if state&=0.
  236. SETHIDDENFILE: _System
  237. SETHIDDENFILE:(file$,state&)^Sets the file, file$, to be hidden by the system if state&=1 or not to be hidden if state&=0.
  238. SETSYSTEMFILE: _System
  239. SETSYSTEMFILE:(file$,state&)^Sets the file, file$, to be a system file if state&=1 or not to be a system file if state&=0.
  240. VOLUMESIZE&: _System
  241. VOLUMESIZE&:(drive&)
  242. Returns the size in bytes of the storage space on the drive specified by drive&.  drive& can take values 0 to 25.  0 specifies the A:, 1 specifies B:, 2 specifies C: and so on.
  243. VOLUMESPACEFREE&: _System
  244. free&=VOLUMESPACEFREE&:(drive&)
  245. Returns the size in bytes of the storage space that is available for use on the drive specified by drive&.  drive& can take values 0 to 25. 0 specifies the A:, 1 specifies B:, 2 specifies C: and so on.
  246. VOLUMEUNIQUEID&:     _System volUid&=VOLUMEUNIQUEID&:(drive&)
  247. Returns the unique identification number of the media on the drive specified by drive&.  drive& can take values 0 to 25. 0 specifies the A:, 1 specifies B:, 2 specifies C: and so on.
  248. See MEDIATYPE&:.
  249. MEDIATYPE&: _System
  250. media&=MEDIATYPE&:(drive&)
  251. GETFILETIME: _System
  252. GETFILETIME:(file$,dateTimeId&)
  253. SETFI
  254. LETIME: _System
  255. SETFILETIME:(file$,dateTimeId&)
  256. DISPLAYTASKLIST: _System
  257. DISPLAYTASKLIST:lDisplays the system-wide task list. The user may then close a file, go to another task or close the dialog.
  258. SETCOMPUTEMODE: _System
  259. SETCOMPUTEMODE:(state&)
  260. RUNAPP&: _System&thread&=RUNAPP&:(lib$,doc$,tail$,cmd&)
  261. RUNEXE&: _System
  262. RUNEXE&:(file$)
  263. Runs an executable EXE file file$ and returns its thread ID. The thread ID can then be used to logon to the thread and find out when and why it finished.
  264. See LOGONTOTHREAD:.
  265. LOGONTOTHREAD: _System%LOGONTOTHREAD:(threadId&,statusWord&)
  266. Logs on to the thread with ID threadId& and sets the status word statusWord& when the thread has completed. As for other 32-bit status words, statusW& will be set to &80000001 for pending and 0 for successful completion.
  267. 5 TERMINATECURRENTPROCESS: _System
  268. TERMINATEPROCESS:(reason&)
  269. Terminates the current process giving it the reason reason&. This causes the process to receive a shutdown message. reason& may take any value, with zero used to mean no errors.
  270. TERMINATEPROCESS: _System TERMINATEPROCESS:(proc$,reason&)
  271. Terminates the process proc$ giving it the reason reason&. This causes the process to receive a shutdown message. reason& may take any value, with zero used to mean no errors.
  272. BSends a shutdown message to a window group in the thread, threadId&.
  273. previous& specifies the window group in the thread that is previous to the one required. Hence, setting previous& to 0 will specify the first window group in the thread.
  274. The value returned by this procedure is the value of the window group on which action was taken, or -1 if a window group following that specified by previous& was not present. This return value could be passed back to this procedure to end the next window group in the thread.
  275. An error will be raised if the window group is busy, does not respond to such requests or is in a system thread.
  276. See KILLTASK&:.
  277. KILLCURRENTPROCESS: _System
  278. KILLCURRENTPROCESS:(reason&)
  279. Kills the current process giving it the reason reason&. The process is killed without receiving a shutdown message. reason& may take any value, with zero used to mean no errors.
  280. KILLPROCESS: _System
  281. KILLPROCESS:(proc$,reason&)
  282. Kills the process proc$ giving it the reason reason&. The process is killed without receiving a shutdown message. reason& may take any value, with zero used to mean no errors.
  283. PLAYSOUND: _System
  284. PLAYSOUND:(file$,volume&)
  285. PLAYSOUNDA: _System&PLAYSOUNDA:(file$,volume&,statusWord&)
  286. STOPSOUND&: _System
  287. STOPSOUND&:
  288. Stops the sound file that is currently playing.  The return value is 1 if there was a sound file playing and 0 if not.
  289. See PLAYSOUND:, PLAYSOUNDA:.
  290. MOD&: _System
  291. rem&=MOD&:(left&,right&)MReturns left& modulo right& (i.e. the remainder of left& divided by right&).
  292. XOR&: _System
  293. res&=XOR&:(left&,right&)
  294. LOADRSC&: _System
  295. id&=LOADRSC&:(file$)VLoads the resource file file$ and returns a handle for it.
  296. See UNLOADRSC:, READRSC$:.
  297. UNLOADRSC: _System
  298. UNLOADRSC:(id&)>Unloads the resource file whose handle is id&.
  299. See LOADRSC&:.
  300. READRSC$: _System
  301. string$=READRSC$:(id&)dReads the resource in a resource file specified by id& which must already be loaded.
  302. See LOADRSC&:.
  303. READRSCLONG&: _System
  304. long&=READRSCLONG&:(id&)lReads a 32-bit value from a resource file specified by the id& which must already be loaded.
  305. See LOADRSC&:.
  306. CHECKUID$: _System
  307. CHECKUID$:(Uid1&,Uid2&,Uid3&)GReturns a string which is a unique product of the three supplied UIDs.
  308. SETPOINTERGRABON: _System SETPOINTERGRABON:(WinId&,state&)
  309. MACHINENAME$: _System
  310. name$=MACHINENAME$:
  311. Returns the machine name.
  312. MACHINEUNIQUEID: _System(MACHINEUNIQUEID:(BYREF high&,BYREF low&)_Sets high& and low& (which are passed BYREF) to high and low parts of the machine's unique ID.
  313. ENDTASK&: _System#ret&=ENDTASK&:(threadId&,previous&)
  314. AShuts down the window group that follows the window group specified by previous& in the thread, threadId&. It will ignore any wishes of the window group not to be shutdown.
  315. The value returned by this procedure is the value of the window group on which action was taken, or -1 if a window group following that specified by previous& was not present. This return value could be passed back to this procedure to end the next window group in the thread.
  316. See ENDTASK&:.
  317. BReturns the thread ID threadId& of the thread that contains the open document doc$.
  318. doc$ should contain the full path of the open document and could for example be c:\opl\prog.opo.
  319. previous&, passed by reference, is useful for situations where the document may be open more than once. Setting previous& to zero will cause this procedure to find the first window group that contains doc$.  If one is found, previous& will be set to the window group value of that found document. This value could then passed back to this procedure as previous&, so the next window group instance of doc$ will be found, and so on. If this procedure sets previous& to -1 then doc$ could not be found after previous&. An error will also be raised if the open document is not found.
  320. BReturns the thread ID threadId& of the thread that contains a running instance of the application with UID uid&.
  321. previous&, passed by reference, is useful for situations where the application may be running more than once. Setting previous& to zero will cause this procedure to find the first window group that is an instance of this application.  If one is found, previous& will be set to the value of that window group. This value could then passed back to this procedure as previous&, so the next instance of the application can be found, and so on. If no instance of this application can be found following previous& then previous& will be set to -1. An error will also be raised if a running instance of the application is not found.
  322. AMoves the window group after previous& in the thread threadId& to foreground. Using previous&=0 specifies the first window group in the thread.
  323. The value returned will be the window group on which action was taken, or -1 if the following window group was not found. This return value could be passed back to this procedure as previous& to put the next window group in threadId& to foreground.
  324. See SETBACKGROUNDBYTHREAD&:.
  325. AMoves the window group after previous& in the thread threadId& to background. Using previous&=0 specifies the first window group in the thread.
  326. The value returned will be the window group on which action was taken, or -1 if the following window group was not found. This return value could be passed back to this procedure again as a value for previous& to put the next window group in threadId& to background.
  327. See SETFOREGROUNDBYTHREAD&:.
  328. DSynchronously sends out an infrared (IR) beam which looks for another infrared device. If another infrared device is looking to receive a beam then the devices will connect, otherwise this procedure will raise an error after a couple of seconds.
  329. protocol$ can take either of the constants defined in System.oxh. These are KIrTinyTP$, used for communicating with other EPOC32 devices and KIrmux$ which is used for IR printing.
  330. The value 8 is recommended for port& when communicating with other EPOC32 devices. Both devices will need to be using the same value for port&. port& must be 2 for connecting to IR printers.
  331. If connecting to another EPOC32 device with this procedure the other device must connect by using IRDACONNECTTORECEIVE&:.
  332. After connecting to another EPOC32 device you can both send and receive information.
  333. After connecting to an IR printer use IRDAWRITE: to send text. When IRDADIASCONNECT: is called the printer will begin printing.
  334. See IRDACONNECTTORECEIVE:, IRDAWRITE:, IRDAREAD:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
  335. BAsynchronously waits, without timing-out, for another EPOC32 device to attempt to connect via infrared (IR). This procedure takes the status word statusW&. When connection occurs the status word is set to zero.
  336. Both EPOC32 devices must be using the same port which is specified by port&. The recommended port is 8.
  337. One of the devices must connect with this procedure and the other with IRDACONNECTTOSEND&.
  338. protocol$ specifies the IR protocol and should take the constant KIrTinyTP$, defined in System.oxh, when communicating with other EPOC32 devices.
  339. After connecting to another EPOC32 device you can both send and receive information.
  340. See IRDAWRITE:, IRDAREAD:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
  341. AAppends a scaled bitmap specified by bitmapHandle& and scaled according to xScale& and yScale& to the buffer sent to the printer. The handle is the same as that returned by gLOADBIT. Default scaling is xScale& = yScale& = 1000.
  342. See SENDBITMAPTOPRINTER:, INSERTSCALEDBITMAP:.
  343. jAReads a text string via infrared from another device after connection has been made. The procedure is asynchronous with status word statusW&. The string passed by address should have a maximum length of 255 bytes. To pass a string by address use, ADDR(string$).
  344. See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDWRITE:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
  345. ^AVerifies, when disconnecting from another IR device, that the other device has received everything sent. It should therefore be called by the device that last sends some information.
  346. This procedure should not be used with printers: use IRDADISCONNECT: instead.
  347. See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
  348. KILLTASK&: _System$ret&=KILLTASK&:(threadId&,previous&) 
  349.  GETTHREADIDFROMOPENDOC&: _System8threadId&=GETTHREADIDFROMOPENDOC&:(doc$,BYREF previous&)!
  350. GETTHREADIDFROMAPPUID&: _System7threadId&=GETTHREADIDFROMAPPUID&:(uid&,BYREF previous&)"
  351. SETFOREGROUND: _System
  352. SETFOREGROUND:=Moves the calling process to foreground.
  353. See SETBACKGROUND:.
  354. SETBACKGROUND: _System
  355. SETBACKGROUND:=Moves the calling process to background.
  356. See SETFOREGROUND:.
  357. SETFOREGROUNDBYTHREAD&: _System1ret&=SETFOREGROUNDBYTHREAD&:(threadId&,previous&)#
  358. SETBACKGROUNDBYTHREAD&: _System1ret&=SETBACKGROUNDBYTHREAD&:(threadId&,previous&)$
  359. 5 GETNEXTWINDOWGROUPNAME$: _System9name$=GETNEXTWINDOWGROUPNAME$:(threadId&,BYREF previous&)
  360. Returns the name of the window group that follows the window group previous& in the thread threadId&. If previous&=0 the procedure will return the name of the first window group found.
  361. See GETNEXTWINDOWID&:.
  362. GETNEXTWINDOWID&: _System3winId&=GETNEXTWINDOWID&:(threadId&,BYREF previous&)
  363. Returns the ID of the window group that follows the window group previous& in the thread threadId&. If previous& is 0 the procedure will return the ID of the first window group found.
  364. See GETNEXTWINDOWGROUPNAME$:.
  365. SENDKEYEVENTTOAPP&: _SystemMSENDKEYEVENTTOAPP&:(threadId&,previous&,code&,scanCode&, modifiers&,repeats&)%
  366. IRDACONNECTTOSEND&: _System$IRDACONNECTTOSEND&:(protocol$,port&)&
  367. IRDACONNECTTORECEIVE: _System5IRDACONNECTTORECEIVE:(protocol$,port&,BYREF statusW&)'
  368. IRDAWRITE: _System"IRDAWRITE:(chunk$, BYREF statusW&)(
  369. IRDAREAD$: _System
  370. chunk$=IRDAREAD$:
  371. Reads a text string via infrared from another device after connection has been made. The procedure is synchronous.
  372. See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDWRITE:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
  373. IRDAREADA: _System'IRDAREADA:(stringAddr&, BYREF statusW&))
  374. IRDAWAITFORDISCONNECT: _System
  375. IRDAWAITFORDISCONNECT:*
  376. ADisconnects from another IR device. It should be called by the device that is the last to receive some information. IRDAWAITFORDISCONNECT: is used by the last device to send some information, except when printing via IR when IRDADISCONNECT: should be used to disconnect from the printer and commence printing.
  377. See IRDACONNECTTOSEND&:, IRDACONNECTTORECEIVE:, IRDADISCONNECT:, IRDAWAITFORDISCONNECT:.
  378. lDAllows the program that calls it to capture keys when it is not in foreground. The keys to be captured are specified using keycode&, mask& and modifier&. The value returned is a handle which can be passed to CANCELCAPTUREKEY: to cancel the capture.
  379. The following constants are supplied in System.oxh to be used in conjunction with this procedure:
  380. CONST KModifierAutorepeatable&=&00000001
  381. CONST KModifierKeypad&=&00000002
  382. CONST KModifierLeftAlt&=&00000004
  383. CONST KModifierRightAlt&=&00000008
  384. CONST KModifierAlt&=&00000010
  385. CONST KModifierLeftCtrl&=&00000020
  386. CONST KModifierRightCtrl&=&00000040
  387. CONST KModifierCtrl&=&00000080
  388. CONST KModifierLeftShift&=&00000100
  389. CONST KModifierRightShift&=&00000200
  390. CONST KModifierShift&=&00000400
  391. CONST KModifierLeftFunc&=&00000800
  392. CONST KModifierRightFunc&=&00001000
  393. CONST KModifierFunc&=&00002000
  394. CONST KModifierCapsLock&=&00004000
  395. CONST KModifierNumLock&=&00008000
  396. CONST KModifierScrollLock&=&00010000
  397. CONST KModifierKeyUp&=&00020000
  398. CONST KModifierSpecial&=&00040000
  399. CONST KModifierDoubleClick&=&00080000
  400. CONST KModifierPureKeycode&=&00100000
  401. CONST KAllModifiers&=&001fffff
  402. See CANCELCAPTUREKEY&:.
  403. iCSets the (OPL) window with window ID winId& to capture pointer events.
  404. flags& can take a summed combination of the following:
  405. value        meaning
  406. 0        capture disabled
  407. &01        capture enabled        
  408. &02        capture (not drag-and-drop)
  409. When a window captures pointer events, the position of any events received will be relative to its origin, i.e. the top left corner of that window, i.e. the window
  410. s 0,0 co-ordinate becomes the origin for pointer events. Events don
  411. t need to be inside the window to be registered. For example,  if the screen was touched 1 pixel above and 1 pixel to the left of a window that was capturing pointer events, the pointer event would be returned with the position of the event being -1,-1 .
  412. Capture (not drag-and-drop)
  413.  will cause events of the 
  414. drag-and-drop
  415.  nature to be sent to the window that would have received them had the pointer not been captured..
  416. CClaims the pointer grab for the window with ID winId& from another window, if a pointer grab is already in effect in the other window. All subsequent events will be delivered to this window, instead of the window that originally had the pointer grab. The next 
  417.  event terminates the pointer grab, and is also delivered to the window that claimed the grab, if state& is set to 1.
  418. This function would typically be used where clicking in a window pops up another window, and where the popped-up window wishes to grab the pointer as though the original click had been in that window.
  419. To summarise the values of state& for the OPL window,
  420. value     meaning
  421. 0    don't deliver the following 
  422.  event to this window
  423. 1    deliver the following 
  424.  event to this window
  425. See SETPOINTERGRABON:
  426. WCDisplays the standard 
  427. Open file
  428.  dialog. seedFile$ provides a starting file which is displayed when the dialog is opened. So, for example, if seedFile$=
  429. C:\Documents\Myfile
  430.  then the file MyFile will be initially displayed in the 
  431.  selector box, the Documents folder will be initially displayed in the 
  432. Folder
  433.  selector box and C will be displayed in the disk selector. You must always seed the dialog: you cannot pass a null seedFile$ string to OPENFILEDIALOG$:. If seedFile$ does not include a drive name, then an error is raised.
  434. The selection of files may be restricted by UID by specifying appropriate values for uid1&, uid2& and uid3& in exactly the same way as when using the dFILE keyword. See the 
  435. Alphabetic Listing
  436.  section for details of this.
  437. The return value is the filename, including the full path of the file selected to be opened.
  438. BDisplays the standard 
  439. Create new file
  440.  dialog. seedPath$ provides a starting path which is displayed when the dialog is opened. So, for example, if seedPath$=
  441. C:\Documents\
  442.  then the Documents folder will be intially displayed in the 
  443. Folder
  444.  selector box and C in the disk selector. If you supply a filename in seedPath$, then this will be displayed as a suggested filename in the 
  445.  selector box. You must always seed the dialog: you cannot pass a null seedPath$ string to CREATEFILEDIALOG$:. If seedPath$ does not include a drive name, then an error is raised.
  446. The return value is the filename, including the full path of the file to be created.
  447. @Displays the standard 
  448. Save as
  449.  dialog. seedPath$ provides a starting path which is displayed when the dialog is opened. So, for example, if seedPath$=
  450. C:\Documents\
  451.  then te
  452. he Documents folder will be initially displayed in the 
  453. Folder
  454.  selector box and C in the disk selector. If you supply a filename in seedPath$, then this will be displayed as a suggested filename in the 
  455.  selector box. You must always seed the dialog: you cannot pass a null seedPath$ string to SAVEASFILEDIALOG$:. If seedPath$ does not include a drive name, then an error is raised.
  456. UseNewFile% specifies the initial setting of the checkbox which determines whether a new file should be used when saving. This value is non-zero then the tick will be set initially, if it is zero, then it will not be.  The procedure writes back a value to this variable which will be KTrue% if the symbol is set on exiting the dialog and KFalse% if not (see the listing of Const.oph in Appendix E for definitions of these constants). If you pass #0 as the value of this argument, then this item will not be displayed in the dialog at all (as in many Series 5 applications) so that whether a new file is used on not is not decided by the user, but by the programmer.
  457. The return value is the filename to save as, including the full path.
  458. ALoads a bitmap from the file name$ (in the current directory if no other is specified).  If the file contains more than one bitmap, then index& specifies which bitmap to load.  The first (or only) bitmap is specified by index& having the value 0.  The value returned is the ID of the open bitmap, which may be used to refer to it when calling sprite procedures or when using gBUTTON, for example.
  459. See BITMAPUNLOAD:.
  460. #AUnloads the bitmap whose ID is id&. You can call BITMAPUNLOAD: immediately after passing the bitmap ID to gBUTTON or, if used with the Sprite OPX procedures, after drawing the sprite, as the access count on a bitmap is incremented to ensure it is not unloaded prematurely.
  461. See BITMAPLOAD&:.
  462. AInitialises a sprite in the window given by winId% with its top left-hand corner at x&,y&.  The value of flags& determines whether or not the sprite
  463. s members are flashing.  If (flags& AND 1)=1 then they are flashing and if the value is 0 then they are not.  The value returned is the ID of the sprite which should be used when referring to it in other sprite procedures.
  464. See SPRITEAPPEND:, SPRITECHANGE:, SPRITEDRAW:, SPRITEPOS:, SPRITEDELETE:, SPRITEUSE:.
  465. 5CAppends members or frames to the current sprite, which must have been created using CREATESPRITE&: before attempting to append to it.  bitmap& is the ID of the bitmap to be used for this member of  the sprite, and maskBitmap& is the ID of the bitmap to be used as a mask.  The bitmap and mask must be of identical sizes.  invertMask& takes the value of 1 or 0 to determine whether the mask is to be inverted or not respectively.  For example, if you are using identical bitmap and mask and invertMask&=1 then the member will appear as the bitmap, whereas if invertMask&=0, the member will be blank.  time& is the period of time in microseconds for which the member appears in the sprite and dx&,dy& is the offset position of the top left-hand of the bitmap from the top left-hand corner of the sprite.
  466. See SPRITECHANGE:.
  467. DChanges a member of a sprite originally set up with SPRITEAPPEND.
  468. id& specifies the number of the sprite member which is to be changed.  This number is determined by the order in which the members were originally appended, the first member to be appended being labelled 0. bitmap& is the ID of the bitmap to be used for this member of  the sprite, and maskBitmap& is the ID of the bitmap to be used as a mask.  The bitmap and mask must be of identical sizes.  invertMask& takes the value of 1 or 0 to determine whether the mask is to be inverted or not respectively.  For example, if you are using identical bitmap and mask and invertMask&=1 then the member will appear as the bitmap, whereas if invertMask&=0, the member will be blank.  time& is the period of time in microseconds for which the member appears in the sprite and dx&,dy& is the offset position of the top left-hand of the bitmap from the top left-hand corner of the sprite.
  469. A sprite may not be changed unless it has already been drawn.
  470. See SPRITEAPPEND:, SPRITEDRAW:.
  471. IRDADISCONNECT: _System
  472. IRDADISCONNECT:,
  473. MAINBATTERYSTATUS&: _System
  474. MAINBATTERYSTATUS&:
  475. Returns the current power of the main batteries. The following possible return values are supplied as constants in System.oxh:
  476. CONST KBatteryZero&        =0
  477. CONST KBatteryVeryLow&        =1
  478. CONST KBatteryLow&        =2
  479. CONST KBatteryGood&        =3
  480. BACKUPBATTERYSTATUS&: _System
  481. BACKUPBATTERYSTATUS&:
  482. Returns the current power of the backup batteries. The following possible return values are supplied as constants in System.oxh:
  483. CONST KBatteryZero&        =0
  484. CONST KBatteryVeryLow&        =1
  485. CONST KBatteryLow&        =2
  486. CONST KBatteryGood&        =3
  487. CAPTUREKEY&: _System&CAPTUREKEY&:(keyCode&,mask&,modifier&)-
  488. CANCELCAPTUREKEY: _System
  489. CANCELCAPTUREKEY:(handle&)_Cancels an outstanding key capture which is specified by the handle handle&.
  490. See CAPTUREKEY&:.
  491. SETPOINTERCAPTURE: _System!SETPOINTERCAPTURE:(WinId&,flags&).
  492. CLAIMPOINTERGRAB: _System CLAIMPOINTERGRAB:(WinId&,state&)/
  493. OPENFILEDIALOG$: _System3file$=OPENFILEDIALOG$:(seedFile$,uid1&,uid2&,uid3&)0
  494. CREATEFILEDIALOG$: _System#file$=CREATEFILEDIALOG$:(seedPath$)1
  495. SAVEASFILEDIALOG$: _System5path$=SAVEASFILEDIALOG$:(seedPath$,BYREF useNewFile%)2
  496. BITMAPLOAD&: _Bmp
  497. id&=BITMAPLOAD&:(name$,index&)3
  498. BITMAPUNLOAD: _Bmp
  499. BITMAPUNLOAD:(id&)4
  500. BITMAPDISPLAYMODE&: _Bmp
  501. mode&=BITMAPDISPLAYMODE&:(id&)
  502. Returns the graphics mode of the bitmap with ID id&.  The graphics mode is that specified at its creation (see gCREATEBIT), i.e. 0 for 2-colour mode, 1 for 4-colour mode and 2 for 16-colour mode.
  503. SPRITECREATE&: _Bmp'id&=SPRITECREATE&:(winId%,x&,y&,flags&)5
  504. SPRITEAPPEND: _Bmp<SPRITEAPPEND:(time&,bitmap&,maskBitmap&,invertMask&,dx&,dy&)6
  505. SPRITECHANGE: _Bmp@SPRITECHANGE:(id&,time&,bitmap&,maskBitmap&,invertMask&,dx&,dy&)7
  506. WADraws the sprite once it has been set up.  It need only be called once, and any changes made to the sprite are made as soon as the procedure making the change is called.  The sprite will be drawn in the window and at the position specified by the arguments passed to SPRITECREATE.
  507. See SPRITECREATE&:, SPRITEAPPEND:, SPRITECHANGE:, SPRITEPOS:.
  508. FAdds the field, field$, to the key, key& (see DBNEWKEY&: for creating a new key). This new key can then be used to create an index on a table. order& specifies how this field should be ordered:
  509. value        meaning        constant declaration in Dbase.oxh
  510. 1     ascending    CONST KDbAscending&=1
  511. 0         descending     CONST KDbDescending&=1
  512. You can use this procedure repeatedly to add more than one field to the same key. The order in which the fields are added dictates the significance of these fields in building up the index. The first field added to a key is the primary field; if there were any identical values in this field then the secondary field would be used and so on.  For example, if the primary field in an 
  513. Address
  514.  table was 
  515. Surname
  516.  and there were two people with the surname Brown, then the secondary field or tertiary fields like 
  517. Forename
  518.  and 
  519.  might be used to define how the index will be ordered.
  520. When using string fields in an index they cannot be longer than 240 bytes. To limit the size of a string field see CREATE in the 
  521. Alphabetic Listing
  522.  chapter. If a string field is the last field in a key (or first and only) then it may be truncated to a specified length - see DBADDFIELDTRUNC:.
  523. Note that the size of an index can become huge if the key is long. The key length k is the length in bytes of the sum of all the fields in the key. An integer or a long integer field is 4 bytes, a floating-point field 8 bytes and a text field depends on the length assigned to it (see also the previous paragraph). The size of the index depends at least linearly on k and hence may be large if the key is long.
  524. When the key has been built as required, it can be used to create an index.
  525. See DBCREATEINDEX:.
  526. BAdds a truncated string field field$ to the key key&. Only the last field added to a key (or first and only) can be truncated. order& specifies how this field should be ordered and may take the values:
  527. value        meaning        constant declaration in Dbase.oxh
  528. 1     ascending    CONST KDbAscending&=1
  529. 0         descending     CONST KDbDescending&=1
  530. trunc& is the truncation length and determines how many bytes of the string field will be used in building up the index (up to 240).
  531. This procedure is useful for building up indexes on OPL16 databases whose string fields have a set length of 255 bytes. When the key has been built up as required it can be used to create an index.
  532. See DBADDFIELD:, DBCREATEINDEX:.
  533. ,BCreates an index with the name index$ on the table table$ in the database file$. The index is used for sorting and vastly increases the speed in table lookup. The index is based on key&, the supplied key. The database must be closed when this procedure is used.
  534. The opening of an ordered view on a table must be requested in the SQL query in the OPEN command. See Appendix F for SQL specification. If a suitable index has been created then it will be used.
  535. DBNEWKEY:,
  536. DBADDFIELD:,
  537. DBADDFIELDTRUNC:,
  538. DBMAKEUNIQUE:, DBSETCOMPARISON:, DBDROPINDEX:, OPEN.
  539. (AReturns 1 if the database dbase$ considers that it may have damaged indexes and 0 if not.  If the database is damaged, then this does not make it unusable, but attempting to use any damaged index will result in an error.  Recovering the database will restore any damaged indexes.
  540. See DBRECOVER:.
  541. #AThe text comparison is used to determine the order of an index.  The argument comp& sets the text comparison mode of a key key&, and takes one of  the constant values supplied in the header file Dbase.oxh:
  542. CONST KDbCompareNormal&        =0
  543. CONST KDbCompareFolded &    =1
  544. CONST KDbCompareCollated&    =2
  545. -BSends a special character, for example line and page breaks etc., to the printer. Constants for special characters are defined in Const.oph (see the 
  546. Calling Procedures
  547.  chapter for details of how to use this file and Appendix E for a listing of it) as follows:
  548. CONST KParagraphDelimiter%=$06
  549. CONST KLineBreak%=$07
  550. CONST KPageBreak%=$08
  551. CONST KTabCharacter%=$09
  552. CONST KNonBreakingTab%=$0a
  553. CONST KNonBreakingHyphen%=$0b
  554. CONST KPotentialHyphen%=$0c
  555. CONST KNonBreakingSpace%=$10
  556. CONST KVisibleSpaceCharacter%=$0f
  557. See SENDNEWPARATOPRINTER:, INSERTSPECIALCHAR:.
  558. ASets alignment state of a paragraph. Default is KPrintLeftAlign%.
  559. The setting does not take effect until either SETLOCALPARAFORMAT: or SETGLOBALPARAFORMAT: is called. The allowable alignments, defined in Printer.oxh, are:
  560. CONST KPrintLeftAlign%         = 0    
  561. CONST KPrintCenterAlign%         = 1
  562. CONST KPrintRightAlign%         = 2
  563. CONST KPrintJustifiedAlign%     = 3
  564. CONST KPrintUnspecifiedAlign%     = 4
  565. See INITIALISEPARAFORMAT:.
  566. JINITIALISEPARAFORMAT:(Red%, Green%, Blue%, LeftMarginInTwips&, RightMarginInTwips&, IndentInTwips&, HorizontalAlignment%, VerticalAlignment%, LineSpacingInTwips&, LineSpacingControl%, SpaceBeforeInTwips&, SpaceAfterInTwips&, KeepTogether%, KeepWithNext%, StartNewPage%, WidowOrphan%, Wrap%, BorderMarginInTwips&, DefaultTabWidthInTwips&)
  567. Sets a state for formatting. The setting does not take effect until either SETLOCALPARAFORMAT or SETGLOBALPARAFORMAT is called.    
  568. Red%,Green%,Blue% set the background colour. Each value can be in the range 0 to 255. Default colour is white, with all three arguments equal to 255.
  569. LeftMarginInTwips& sets left text margin relative to left page margin. Default is zero.
  570. RightMarginInTwips& sets right text margin, relative to right page margin. Default is zero.
  571. IndentInTwips& sets left, right and first line indent. Default is zero.
  572. HorizontalAlignment% sets horizontal alignment of paragraph. Default is left alignment. See SETALIGNMENT for values.
  573. VerticalAlignment% sets vertical alignment of paragraph (for use by spreadsheet applications). Default is  top alignment. Allowable values, supplied in Printer.oxh, are:
  574. CONST KPrintTopAlign% = 0
  575. CONST KPrintBottomAlign% = 2
  576. CONST KPrintUnspecifiedAlign% = 4
  577. LineSpacingInTwips& sets inter-line spacing in twips. Default is 200 (10 point).
  578. LineSpacingControl% sets the control for LineSpacingInTwips& value. Default is KLineSpacingAtLeastInTwips&. Allowable values are:
  579. CONST KLineSpacingAtLeastInTwips% = 0
  580. CONST KLineSpacingExactlyInTwips% = 1
  581. SpaceBeforeInTwips& sets the space above a paragraph. Default is zero.
  582. SpaceAfterInTwips& sets the space below a paragraph. Default is zero.
  583. KeepTogether% prevents a page break within paragraph when KTrue%. Default is KFalse%. (Constants are defined in Const.oph.)
  584. KeepWithNext% prevents a page break between this paragraph and the following paragraph when KTrue%. Default is KFalse%.
  585. StartNewPage% inserts a page break immediately before this paragraph when KTrue%. Default is KFalse%.
  586. WidowOrphan% prevents the printing of the last line of a paragraph by itself on the top of a new page (widow) or the first line of a paragraph by itself on the bottom of the page (orphan).  Default is KFalse%.
  587. Wrap% forces the paragraph to line wrap at the right margin when KTrue%. KFalse% disables line wrap. Default is KTrue%.
  588. BorderMarginInTwips& sets distance in twips between paragraph border and enclosed text (must be non-negative). Default is zero.
  589. DefaultTabWidthInTwips& specifies the spacing between the default tab stops. Default is 360.
  590. +ASets font position as normal, superscript or subscript.  The following constants can be used for this:
  591. CONST KPrintPosNormal% = 0
  592. CONST KPrintPosSuperscript% = 1
  593. CONST KPrintPosSubscript% = 2
  594. Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
  595. DBRECOVER: _Dbase
  596. DBRECOVER:(dbase$)VRecovers a damaged database dbase$, restoring any damaged indices.
  597. See DBISDAMAGED&:.
  598. DBSETCOMPARISON: _Dbase
  599. DBSETCOMPARISON:(key&,comp&)@
  600. SENDSTRINGTOPRINTER: _Printer
  601. SENDSTRINGTOPRINTER:(string$)lAppend a string to whatever has already been sent to the printer.
  602. See INSERTSTRING:, SENDNEWPARATOPRINTER:.
  603. INSERTSTRING: _Printer
  604. INSERTSTRING:(string$,pos&)
  605. Insert string$ at position pos& in the buffer. Inserting at position zero puts the string ahead of anything already sent or inserted.
  606. See SENDSTRINGTOPRINTER:, INSERTNEWPARA:.
  607. SENDNEWPARATOPRINTER: _Printer
  608. SENDNEWPARATOPRINTER:
  609. Paragraphs delimit paragraph formatting, such as centring. This procedure is equivalent to
  610. SENDSPECIALCHARTOPRINTER:(KParagraphDelimiter%).
  611. See SENDSPECIALCHARTOPRINTER:, INSERTNEWPARA:, SENDSTRINGTOPRINTER:.
  612. INSERTNEWPARA: _Printer
  613. INSERTNEWPARA:(pos&)bInserts a new paragraph at position pos& in the buffer.
  614. See SENDNEWPARATOPRINTER:, INSERTSTRING:.
  615. "SENDSPECIALCHARTOPRINTER: _Printer%SENDSPECIALCHARTOPRINTER:(character%)A
  616. INSERTSPECIALCHAR: _Printer#INSERTSPECIALCHAR:(character%,pos&)RInserts a special character at pos& in the buffer.
  617. See SENDSPECIALCHARTOPRINTER:.
  618. SETALIGNMENT: _Printer
  619. SETALIGNMENT:(alignment%)B
  620. INITIALISEPARAFORMAT: _Printer
  621. See infoC
  622. Courier
  623. SETLOCALPARAFORMAT: _Printer
  624. SETLOCALPARAFORMAT:WSets the initialised global paragraph formatting as local.        
  625. See SETGLOBALPARAFORMAT:.
  626. SETGLOBALPARAFORMAT: _Printer
  627. SETGLOBALPARAFORMAT:
  628. Sets the local paragraph format as global (after initialising formatting).
  629. See SETLOCALPARAFORMAT:, REMOVESPECIFICPARAFORMAT:.
  630. 5"REMOVESPECIFICPARAFORMAT: _Printer
  631. REMOVESPECIFICPARAFORMAT:rUnsets local paragraph formatting, using global formatting instead
  632. See SETGLOBALPARAFORMAT:, SETLOCALPARAFORMAT:.
  633. SETFONTNAME: _Printer
  634. SETFONTNAME:(name$)
  635. Gives a new font name. Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
  636. SETFONTHEIGHT: _Printer
  637. SETFONTHEIGHT:(height%)
  638. Gives a new font height in twips
  639. (1 twip = 1/20 points or 1/1440 inches)
  640. Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
  641. SETFONTPOSITION: _Printer
  642. SETFONTPOSITION:(POS%)D
  643. SETBACKLIGHTONTIME: _System
  644. SETBACKLIGHTONTIME:(seconds&)gSets the time in seconds (seconds&) that the backli)
  645. ght should remain on after it has been switched on.
  646. SETBACKLIGHTBEHAVIOR: _System SETBACKLIGHTBEHAVIOR:(behavior&)
  647. Sets the backlight
  648. s turning off behaviour.
  649. behavior&=0 sets the turning off of the backlight to be on a timer,
  650. behavior&=1 sets the backlight not to be on a timer.
  651. ISBACKLIGHTPRESENT&: _System
  652. ret&=ISBACKLIGHTPRESENT&:BReturns -1 if there is a backlight present and 0 if there is not.
  653. !SETAUTOSWITCHOFFBEHAVIOR: _System$SETAUTOSWITCHOFFBEHAVIOR:(behavior&)
  654. SETAUTOSWITCHOFFTIME: _System
  655. SETAUTOSWITCHOFFTIME:(seconds&)lSets the time in seconds (seconds&) for which the machine may remain switched on when it is not being used.
  656. SETACTIVE: _System
  657. SETACTIVE:(state&)
  658. 5 RESETAUTOSWITCHOFFTIMER: _System"RESETAUTOSWITCHOFFTIMER:(seconds&)[
  659. Tickles
  660.  the machine
  661. s auto switch off timer, restarting its count down to switching off.
  662. SWITCHOFF: _System
  663. SWITCHOFF:
  664. Switches off the machine.
  665. As with the keyword OFF, you should be careful not to use  SWITCHOFF: in a loop. If you do, it may be impossible to switch the Series 5 back on, and you may then have to reset it.
  666. SETSOUNDENABLED: _System
  667. SETSOUNDENABLED:(state&)DEnables the machine
  668. s sound if state&=1 or disables it if state&=0.
  669. SETSOUNDDRIVERENABLED: _System
  670. SETSOUNDDRIVERENABLED:(state&)FSwitches the machines sound driver on if state&=1 or off if state&=0.
  671. SETKEYCLICKENABLED: _System
  672. SETKEYCLICKENABLED:(state&)iDetermines whether or not a keypress makes a click. state&=1 enables the click and state&=0 disables it.
  673. SETPOINTERCLICKENABLED: _System
  674. SETPOINTERCLICKENABLED:(state&)
  675. Determines whether or not a pointer event makes a click. (A pointer event occurs whenever the machine
  676. s screen is pressed.) state&=1 enables the click and state&=0 disables it.
  677. Arial
  678. MAXDISPLAYCONTRAST&: _System!maxContrast&=MAXDISPLAYCONTRAST&:fReturns the maximum value to which the machines display contrast can be set.
  679. See SETDISPLAYCONTRAST:.
  680. ISREADONLY&: _System
  681. readOnly&=ISREADONLY&:(file$)HReturns -1 if the file, file$, is a read-only file and  0 if it is not.
  682. ISHIDDEN&: _System
  683. hidden&=ISHIDDEN&:(file$)KReturns -1 if the file, file$, is hidden by the system and 0 if it is not.
  684. ISSYTEM&: _System
  685. system&=ISSYTEM&:(file$)DReturns -1 if the file, file$, is a system file and 0 if it is not.
  686. nCReturns the type of the field whose number is fieldNum& in the table table$ of the database dbase$. This is useful for analysing the records of a table.
  687. The values that me be returned (many of which aren
  688. t supported by OPL databases), are as follows:
  689. value             type
  690. 0              bit
  691. 1            signed byte (8 bits)
  692. 2            unsigned byte (8 bits)
  693. 3            integer (16 bits)
  694. 4            unsigned integer (16 bits)
  695. 5            long integer (32 bits)
  696. 6            unsigned long integer (32 bits)
  697. 7            64-bit integer
  698. 8            single precision floating-point number (32 bits)
  699. 9            double precision floating-point number (64 bits)
  700. 10            date/time object
  701. 11            ASCII text
  702. 12            Unicode text
  703. 13            Binary
  704. 14            LongText8
  705. 15            LongText16
  706. 16            LongBinary
  707. Types 3,5,9,11 correspond to OPL
  708. s  %,&, floating point and $ types respectively.
  709. See DBGETFIELDCOUNT&, DBGETFIELDNAME&
  710. Note: the numbers in the official doc are wrong and have been changed here
  711. EDBITMAP:.
  712. SETFONTWEIGHT: _Printer
  713. SETFONTWEIGHT:(weight%)
  714. Sets the font weight (normal or bold).  Allowable values are:
  715. CONST KStrokeWeightNormal% = 0
  716. CONST KStrokeWeightBold% = 1    
  717. Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
  718. SETFONTPOSTURE: _Printer
  719. SETFONTPOSTURE:(posture%)
  720. Sets font posture using the following constants:
  721. CONST KPostureUpright% = 0
  722. CONST KPostureItalic% = 1
  723. Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
  724. SETFONTSTRIKETHROUGH: _Printer%SETFONTSTRIKETHROUGH:(strikethrough%)
  725. Set strike-through on or off using:
  726. CONST KStrikethroughOff% = 0
  727. CONST KStrikethroughOn% = 1
  728. Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
  729. SETFONTUNDERLINE: _Printer
  730. SETFONTUNDERLINE:(underline%)
  731. Set underline on or off using:
  732. CONST KUnderlineOff% = 0
  733. CONST KUnderlineOn% = 1
  734. Takes immediate effect locally, but requires the use of SETGLOBALCHARFORMAT: to set as the global default.
  735. SETGLOBALCHARFORMAT: _Printer
  736. SETGLOBALCHARFORMAT:dSets the currently active character format to be the global default.
  737. See REMOVESPECIFICCHARFORMAT:.
  738. 5"REMOVESPECIFICCHARFORMAT: _Printer
  739. REMOVESPECIFICCHARFORMAT:nUnsets local character formatting, replacing it with the global formatting instead.
  740. See SETGLOBALCHARFORMAT:.
  741. SENDBITMAPTOPRINTER: _Printer#SENDBITMAPTOPRINTER:(bitmapHandle&)_Appends a bitmap from its handle bitmapHandle&.
  742. See INSERTBITMAP:, SENDSCALEDBITMAPTOPRINTER:.
  743. INSERTBITMAP: _Printer!INSERTBITMAP:(bitmapHandle&,pos&)
  744. Inserts a bitmap specified by bitmapHandle& at position pos& in the buffer to be sent to the printer. The handle is the same as that returned by gLOADBIT.
  745. See SENDBITMAPTOPRINTER:, INSERTSCALEDBITMAP:.
  746. #SENDSCALEDBITMAPTOPRINTER: _Printer9SENDSCALEDBITMAPTOPRINTER:(bitmapHandle&,xScale&,yScale&)F
  747. INSERTSCALEDBITMAP: _Printer7INSERTSCALEDBITMAP:(bitmapHandle&,pos&,xScale&,yScale&)
  748. Inserts a scaled bitmap specified by bitmapHandle& and scaled according to xScale& and yScale& at position pos& in the buffer sent to the printer. The handle is the same as that returned by gLOADBIT.
  749. See INSERTBITMAP:, SENDSCALEDBITMAPTOPRINTER:.
  750. PRINTERDOCLENGTH&: _Printer
  751. PRINTERDOCLENGTH&:
  752. Returns the count of characters currently held in the buffer. It is not possible to insert characters beyond the length of the document buffer. Bitmaps and special characters each count as one character.
  753. SENDRICHTEXTTOPRINTER: _Printer(SENDRICHTEXTTOPRINTER:(richTextAddress&)
  754. Sends the address of a rich text object richTextAddress& to the printer. This is intended to be used on a pointer returned by another OPX. This new Rich Text will replace all content currently stored.
  755. RESETPRINTING: _Printer
  756. RESETPRINTING:ADeletes all text, bitmaps and formatting in the printing buffer.
  757. PAGESETUPDIALOG: _Printer
  758. PAGESETUPDIALOG:`Calls the standard page setup dialog.
  759. See PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:, PRINTDIALOG:.
  760. PRINTPREVIEWDIALOG: _Printer
  761. PRINTPREVIEWDIALOG:
  762. Calls the standard print preview dialog. This allows the data sent to the printer to be viewed. The other three dialogs can all be called from this dialog.
  763. See PAGESETUPDIALOG:, PRINTRANGEDIALOG:, PRINTDIALOG:.
  764. PRINTRANGEDIALOG: _Printer
  765. PRINTRANGEDIALOG:^Calls a standard print range dialog.
  766. See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTDIALOG:.
  767. SPRITEDRAW: _Bmp
  768. SPRITEDRAW:9
  769. SPRITEPOS: _Bmp
  770. SPRITEPOS:(x&,y&)`Repositions the whole of the current sprite to the point x&,y&.
  771. See SPRITECREATE&:,SPRITEDRAW:.
  772. SPRITEDELETE: _Bmp
  773. SPRITEDELETE:(id&) Deletes the sprite with ID id&.
  774. SPRITEUSE: _Bmp
  775. SPRITEUSE:(id&)oSets the current sprite to be that with ID id& in order that it may be changed.
  776. See SPRITECHANGE:, SPRITEPOS:.
  777. DBADDFIELD: _Dbase
  778. DBADDFIELD:(key&,field$,order&):
  779. DBADDFIELDTRUNC: _Dbase+DBADDFIELDTRUNC:(key&,field$,order&,trunc&);
  780. DBCREATEINDEX: _Dbase(DBCREATEINDEX:(index$,key&,file$,table$)<
  781. DBDELETEKEY: _Dbase
  782. DBDELETEKEY:(key&)
  783. Deletes the key key&. This should be called as soon as the key is no longer required. Any keys left undeleted when all modules that declare or include a declaration of the Dbase OPX have been unloaded will be automatically deleted
  784. See DBNEWKEY&.
  785. DBDROPINDEX: _Dbase!DBDROPINDEX:(index$,file$,table$)
  786. Drops the index index$ of the table table$ of the database file$. The database must be closed to use this procedure.
  787. See DBCREATEINDEX:.
  788. DBGETFIELDCOUNT&: _Dbase#n&=DBGETFIELDCOUNT&:(dbase$,table$)
  789. Returns the number of fields in one of the records in the table table$ of the database dbase$. This number can then be used to analyse the contents of the record.
  790. See DBGETFIELDNAME$:, DBGETFIELDTYPE&:.
  791. DBGETFIELDNAME$: _Dbase/name$=DBGETFIELDNAME$:(dbase$,table$,fieldNum&)
  792. Returns the name of the field whose number is fieldNum& in the table table$ of the database dbase$. This is useful for analysing the records of a table.
  793. See DBGETFIELDCOUNT&:, DBGETFIELDTYPE&:.
  794. DBGETFIELDTYPE&: _Dbase/type&=DBGETFIELDTYPE&:(dbase$,table$,fieldNum&)H
  795. DBISDAMAGED&: _Dbase
  796. i&=DbIsDamaged&:(dbase$)>
  797. DBISUNIQUE&: _Dbase
  798. i&=DBISUNIQUE&:(key&)KReturns -1 if the key key& is unique or 0 if it is not.
  799. See DBMAKEUNIQUE:.
  800. DBMAKEUNIQUE: _Dbase
  801. DBMAKEUNIQUE:(key&)
  802. Sets the key key& to be unique. The index created will then not allow any records to be added if they exactly match the indexed fields of another record.
  803. See DBNEWKEY:, DBADDFIELD:, DBCREATEINDEX:.
  804. DBNEWKEY&: _Dbase
  805. k&=NEWKEY&:
  806. Returns a handle to a key which can be used for creating indexes.
  807. See DBDELETEKEY:, DBCREATEINDEX:, DBADDFIELD:, DBADDFIELDTRUNC:.
  808. DTNEWDATETIME&: _DateCid&=DTNEWDATETIME&:(year&,month&,day&,hour&,minute&,second&,micro&)
  809. DTDELETEDATETIME: _Date
  810. DTDELETEDATETIME:(id&)
  811. Deletes the date/time object with handle id&. This should be called when a date/time object is no longer needed. Date/time objects will be deleted automatically on unloading the Date OPX or the module which uses it.
  812. See DTNEWDATETIME&:, DTNOW&:.
  813. DTYEAR&: _Date
  814. y&=DTYEAR&:(id&)lReturns the year component y& which is stored in the date/time object with handle id&.
  815. See DTNEWDATETIME&:.
  816. DTMONTH&: _Date
  817. m&=DTMONTH&:(id&)mReturns the month component m& which is stored in the date/time object with handle id&.
  818. See DTNEWDATETIME&:.
  819. DTDAY&: _Date
  820. day&=DTDAY&:(id&)mReturns the day component day& which is stored in the date/time object with handle id&.
  821. See DTNEWDATETIME&:.
  822. DTHOUR&: _Date
  823. h&=DTHOUR&:(id&)kReturns the hour component h& which is stored in the date/time object with handle id&.
  824. See DTNEWDATETIME&:
  825. IRDADISCONNECT: _System
  826. LCSTARTOFWEEK&: _Date
  827. READRSC$: _System
  828. SAVEASFILEDIALOG$: _System
  829. DTIsLeapYear&:(year&) _SysRAM1
  830. DTMINUTE&: _Date
  831. DTNEWDATETIME&: _Date
  832. DTSETMICRO: _Date
  833. SETBACKLIGHTON: _System
  834. SETFILETIME: _System
  835. SETFONTPOSTURE: _Printer
  836. SETFOREGROUND: _System
  837. RESETAUTOSWITCHOFFTIMER: _System
  838. RomVersionMajor&: _SysRAM1
  839. RomVersionMinor&:
  840. RomVersionBuild&:
  841. SENDNEWPARATOPRINTER: _Printer
  842. SENDSTRINGTOPRINTER: _Printer
  843. SETKEYCLICKENABLED: _System
  844. SETPOINTERGRABON: _System
  845. SPRITECHANGE: _Bmp
  846. SPRITEDRAW: _Bmp
  847. SWITCHOFF: _System
  848. VOLUMESIZE&: _System
  849. IRDAWRITE: _System
  850. ISSYTEM&: _System
  851. @LCAmPmSpaceBetween&: _SysRAM1
  852. LCDECIMALSEPARATOR$: _Date
  853. DBGETFIELDNAME$: _Dbase
  854. DBMAKEUNIQUE: _Dbase
  855. DISPLAYTASKLIST: _System
  856. DTDAYNOINYEAR&: _Date
  857. LOGONTOTHREAD: _System
  858. MAXDISPLAYCONTRAST&: _System
  859. OsVersionMajor&: _SysRam1
  860. OsVersionMinor&:
  861. OsVersionBuild&:
  862. PRINTDIALOG: _Printer
  863. DTSETMICRO: _Date
  864. DTSETYEAR: _Date
  865. ENDTASK&: _System
  866. GetFileSize&:(file$) _SysRAM1
  867. SENDNEWPARATOPRINTER: _Printer
  868. SENDSTRINGTOPRINTER: _Printer
  869. SETGLOBALCHARFORMAT: _Printer
  870. SETSYSTEMFILE: _System
  871. INITIALISEPARAFORMAT: _Printer
  872. INSERTSPECIALCHAR: _Printer
  873. DTDAY&: _Date
  874. DTDAYNOINYEAR&: _Date
  875. DTSETDAY: _Date
  876. DTSETMONTH: _Date
  877. PRINTDIALOG: _Printer
  878. PRINTDIALOG:]Calls a standard print dialog.
  879. See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:.
  880. SENDBUFFERTOPRINTER: _Printer
  881. SENDBUFFERTOPRINTER:(addr&)
  882. Appends the contents of a buffer to whatever has already been sent to the printer. The addr& parameter should be the address of a buffer into which text has been inserted  by dEDITMULTI.
  883. SETDISPLAYCONTRAST: _system6
  884. Arial
  885. SETDISPLAYCONTRAST:(value&)=
  886. Courier
  887. Sets the contrast on the machine
  888. s screen. value& specifies the contrast value, which can be between zero and the maximum display contrast.
  889. See MAXDISPLAYCONTRAST&:.
  890. Arial
  891. Arial
  892.  Syntax of OPX by PsionxAvailable, along with other doc in DATA, at
  893. http://www.knoware.nl/users/wsmout/s5doc.html
  894. comments to wsmout@knoware.nl
  895. 1DDbFind&:(string$) _SysRAM1
  896. DbFindField&:(string$,start&,num&,flags&)
  897. These two find functions replace the language keywords Find and FindField
  898. as they contained bugs when searching for large strings (or small strings
  899. when searching many fields).
  900. 15GetThreadIdFromCaption&:(Caption$,previous&) _SysRam1
  901. Finds the thread Id of an application by its caption (as specified for OPL32
  902. apps in the APP...ENDA construct). This will allow OPL32 apps to properly handle help
  903. files (details to follow). See GetThreadIdfromOpenDoc of system OPX for more info on usage.
  904. ExternalPower&: _SysRam1=Returns -1 if external power (mains) is present or 0 if not.
  905. 1'LCNearestLanguageFile$:(file$) _SysRam1
  906. The last two characters of the filename SUPPLIED are replaced with the language code if such a file exists, otherwise the name is left unchanged.
  907. LCLanguage&: _SysRAM1QReturns the mahines language code (language codes are specified in OPL32 manual)
  908. 1;OsVersionMajor&: _SysRam1
  909. OsVersionMinor&:
  910. OsVersionBuild&:<Return major minor and build of numbers for the OS versions
  911. 1>RomVersionMajor&: _SysRAM1
  912. RomVersionMinor&:
  913. RomVersionBuild&:=Return major minor and build of numbers for the ROM versions
  914. GetFileSize&:(file$) _SysRAM17Returns the size in bytes of the supplied file, file$.
  915. 18DTDayNameFull$:(Day&) _SysRAM1
  916. DTMonthNameFull$:(Month&)
  917. Return full day and month names, the arguments correspond to the Language keywords DAYNAME$ and MONTH$ which return day and month name abbreviations.
  918. DTIsLeapYear&:(year&) _SysRAM15Returns -1 if year& is a leap year or 0 if it isn't.
  919. 1<LCDateSeparator$:(index&) _SysRAM1
  920. LCTimeSeparator$:(index&)
  921. These procedures return the local date and time seperators. Index& can be between 0 and 3 inclusive and corresponds to the position of the separator, as follows;
  922. 0 day 1 month 2 year 3
  923. The numbers are index&.
  924. Arial
  925. Courier
  926. Arial
  927. PRINTDIALOG: _Printer
  928. PRINTDIALOG:]Calls a standard print dialog.
  929. See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:.
  930. SENDBUFFERTOPRINTER: _Printer
  931. SENDBUFFERTOPRINTER:(addr&)
  932. Appends the contents of a buffer to whatever has already been sent to the printer. The addr& parameter should be the address of a buffer into which text has been inserted  by dEDITMULTI.
  933. SETDISPLAYCONTRAST: _system6
  934. Arial
  935. SETDISPLAYCONTRAST:(value&)=
  936. Courier
  937. Sets the contrast on the machine
  938. s screen. value& specifies the contrast value, which can be between zero and the maximum display contrast.
  939. See MAXDISPLAYCONTRAST&:.
  940. Arial
  941. Arial
  942.  Syntax of OPX by Psion
  943. vs 1 01-08-98xAvailable, along with other doc in DATA, at
  944. http://www.knoware.nl/users/wsmout/s5doc.html
  945. comments to wsmout@knoware.nl
  946. 1DDbFind&:(string$) _SysRAM1
  947. DbFindField&:(string$,start&,num&,flags&)
  948. These two find functions replace the language keywords Find and FindField
  949. as they contained bugs when searching for large strings (or small strings
  950. when searching many fields).
  951. 15GetThreadIdFromCaption&:(Caption$,previous&) _SysRam1
  952. Finds the thread Id of an application by its caption (as specified for OPL32
  953. apps in the APP...ENDA construct). This will allow OPL32 apps to properly handle help
  954. files (details to follow). See GetThreadIdfromOpenDoc of system OPX for more info on usage.
  955. ExternalPower&: _SysRam1=Returns -1 if external power (mains) is present or 0 if not.
  956. 1'LCNearestLanguageFile$:(file$) _SysRam1
  957. The last two characters of the filename SUPPLIED are replaced with the language code if such a file exists, otherwise the name is left unchanged.
  958. LCLanguage&: _SysRAM1QReturns the mahines language code (language codes are specified in OPL32 manual)
  959. 1;OsVersionMajor&: _SysRam1
  960. OsVersionMinor&:
  961. OsVersionBuild&:<Return major minor and build of numbers for the OS versions
  962. 1>RomVersionMajor&: _SysRAM1
  963. RomVersionMinor&:
  964. RomVersionBuild&:=Return major minor and build of numbers for the ROM versions
  965. GetFileSize&:(file$) _SysRAM17Returns the size in bytes of the supplied file, file$.
  966. 18DTDayNameFull$:(Day&) _SysRAM1
  967. DTMonthNameFull$:(Month&)
  968. Return full day and month names, the arguments correspond to the Language keywords DAYNAME$ and MONTH$ which return day and month name abbreviations.
  969. DTIsLeapYear&:(year&) _SysRAM15Returns -1 if year& is a leap year or 0 if it isn't.
  970. 1<LCDateSeparator$:(index&) _SysRAM1
  971. LCTimeSeparator$:(index&)
  972. These procedures return the local date and time seperators. Index& can be between 0 and 3 inclusive and corresponds to the position of the separator, as follows;
  973. 0 day 1 month 2 year 3
  974. The numbers are index&.
  975. PRINTDIALOG: _Printer
  976. PRINTDIALOG:]Calls a standard print dialog.
  977. See PAGESETUPDIALOG:, PRINTPREVIEWDIALOG:, PRINTRANGEDIALOG:.
  978. SENDBUFFERTOPRINTER: _Printer
  979. SENDBUFFERTOPRINTER:(addr&)
  980. Appends the contents of a buffer to whatever has already been sent to the printer. The addr& parameter should be the address of a buffer into which text has been inserted  by dEDITMULTI.
  981. SETDISPLAYCONTRAST: _system6
  982. Arial
  983. SETDISPLAYCONTRAST:(value&)=
  984. Courier
  985. Sets the contrast on the machine
  986. s screen. value& specifies the contrast value, which can be between zero and the maximum display contrast.
  987. See MAXDISPLAYCONTRAST&:.
  988. Arial
  989. Arial
  990.  Syntax of OPX-files from Psion
  991. vs 1 01-08-98xAvailable, along with other doc in DATA, at
  992. http://www.knoware.nl/users/wsmout/s5doc.html
  993. comments to wsmout@knoware.nl
  994. 1DDbFind&:(string$) _SysRAM1
  995. DbFindField&:(string$,start&,num&,flags&)
  996. These two find functions replace the language keywords Find and FindField
  997. as they contained bugs when searching for large strings (or small strings
  998. when searching many fields).
  999. 15GetThreadIdFromCaption&:(Caption$,previous&) _SysRam1
  1000. Finds the thread Id of an application by its caption (as specified for OPL32
  1001. apps in the APP...ENDA construct). This will allow OPL32 apps to properly handle help
  1002. files (details to follow). See GetThreadIdfromOpenDoc of system OPX for more info on usage.
  1003. ExternalPower&: _SysRam1=Returns -1 if external power (mains) is present or 0 if not.
  1004. 1'LCNearestLanguageFile$:(file$) _SysRam1
  1005. The last two characters of the filename SUPPLIED are replaced with the language code if such a file exists, otherwise the name is left unchanged.
  1006. LCLanguage&: _SysRAM1QReturns the mahines language code (language codes are specified in OPL32 manual)
  1007. 1;OsVersionMajor&: _SysRam1
  1008. OsVersionMinor&:
  1009. OsVersionBuild&:<Return major minor and build of numbers for the OS versions
  1010. 1>RomVersionMajor&: _SysRAM1
  1011. RomVersionMinor&:
  1012. RomVersionBuild&:=Return major minor and build of numbers for the ROM versions
  1013. GetFileSize&:(file$) _SysRAM17Returns the size in bytes of the supplied file, file$.
  1014. 18DTDayNameFull$:(Day&) _SysRAM1
  1015. DTMonthNameFull$:(Month&)
  1016. Return full day and month names, the arguments correspond to the Language keywords DAYNAME$ and MONTH$ which return day and month name abbreviations.
  1017. DTIsLeapYear&:(year&) _SysRAM15Returns -1 if year& is a leap year or 0 if it isn't.
  1018. 1<LCDateSeparator$:(index&) _SysRAM1
  1019. LCTimeSeparator$:(index&)
  1020. These procedures return the local date and time seperators. Index& can be between 0 and 3 inclusive and corresponds to the position of the separator, as follows;
  1021. 0 day 1 month 2 year 3
  1022. The numbers are index&.
  1023.